import parser from '@babel/parser'
import traverse from '@babel/traverse'
import generator from '@babel/generator'
// import core from '@babel/core'



// 测试代码
const code = 'const name = "我是失落门把手";'

// 解析代码
const ast = parser.parse(code)

console.log(ast,JSON.stringify(ast,null,2))

// 遍历AST
//  参数采用访问者模式，需要处理那个节点，就写那个节点
traverse.default(ast, {
   
    Identifier(path) {
        // path.node 是当前节点
        // 将name换成name2
        path.node.name = 'name2'
    },

    // 处理变量声明
    VariableDeclaration(path) {
        // 将const换成var
        path.node.kind = 'var'
    }
})

// 生成代码
const result = generator.generate(ast)

// 记得有个code
console.log(result.code)

